load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//bazel/go:go_test.bzl", "go_test")

go_library(
    name = "cloudcmd",
    srcs = [
        "apply.go",
        "clients.go",
        "cloudcmd.go",
        "iam.go",
        "iamupgrade.go",
        "rollback.go",
        "serviceaccount.go",
        "terminate.go",
        "tfplan.go",
        "tfvars.go",
    ],
    importpath = "github.com/edgelesssys/constellation/v2/cli/internal/cloudcmd",
    visibility = ["//cli:__subpackages__"],
    deps = [
        "//cli/internal/libvirt",
        "//cli/internal/terraform",
        "//internal/attestation/variant",
        "//internal/cloud/azureshared",
        "//internal/cloud/cloudprovider",
        "//internal/cloud/gcpshared",
        "//internal/cloud/openstack",
        "//internal/cloud/openstack/clouds",
        "//internal/config",
        "//internal/constants",
        "//internal/constellation",
        "//internal/constellation/state",
        "//internal/file",
        "//internal/imagefetcher",
        "//internal/maa",
        "//internal/mpimage",
        "//internal/role",
    ],
)

go_test(
    name = "cloudcmd_test",
    srcs = [
        "apply_test.go",
        "clients_test.go",
        "iam_test.go",
        "rollback_test.go",
        "terminate_test.go",
        "tfplan_test.go",
        "tfvars_test.go",
    ],
    embed = [":cloudcmd"],
    deps = [
        "//cli/internal/terraform",
        "//internal/attestation/variant",
        "//internal/cloud/cloudprovider",
        "//internal/cloud/gcpshared",
        "//internal/config",
        "//internal/constants",
        "//internal/constellation/state",
        "//internal/file",
        "@com_github_spf13_afero//:afero",
        "@com_github_stretchr_testify//assert",
        "@com_github_stretchr_testify//require",
        "@org_uber_go_goleak//:goleak",
    ],
)
